package com.wmx.main.text03;

import com.wmx.Dbutils.DbutilClass;

import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Parameter;

/**
 * @author:wmx 2025-03-28 11:12
 * 1、功能:
 * 2、参数{
 * <p>
 * <p>
 * }
 **/
public class Text03 {
    public static void main(String[] args) throws Exception {


    //
    //    三、学生有姓名，性别，爱好三个信息，定义一个注解，用于描述学生的爱好（有多个）和允许设置学生性别的值，
    //    如:男、man、male、1，性别不在范围内则抛出异常
    //    实现化一个学生对象，输出学生的姓名，性别，爱好信息。



        Student student = new Student();
        Class<?> studentClass = student.getClass();
        boolean annotationPresent = studentClass.isAnnotationPresent(StudentInfo.class);
        if(!annotationPresent){
            throw new Exception("没有此注解");
        }else{
            StudentInfo annotation = studentClass.getAnnotation(StudentInfo.class);
            char sex = annotation.sex();
            if(!(sex == '男' || sex == '女')){
                throw new Exception("性别错误");
            }else{
                String[] like = annotation.like();

                DbutilClass.setFiled(student,"sex",sex);
                DbutilClass.setFiled(student,"like",like);

                Method toString = studentClass.getMethod("toString");
                System.out.println(toString.invoke(student));

            }


        }






    }
}
